Method and system for determining a singularity free momentum path

ABSTRACT

A method for avoiding singularities in the movement of a set of collinear CMGs in an array of CMGs in a spacecraft is provided. First, a command to adjust an orientation of the spacecraft is received. Then, the momentum needed from the set of collinear CMGs is determined. A dynamic control that determines a momentum path and avoids singularities by rotating the singularities out of the momentum path is used and a required gimbal movement for each of the CMGs in the set of collinear CMGs from the momentum path is calculated.

FIELD OF THE INVENTION

This invention relates to the field of spacecraft vehicle control and,more specifically, to a method and system for determining a singularityfree momentum path.

BACKGROUND OF THE INVENTION

In order to control the attitude of a spacecraft, various rotatinginertia memberscan be used. One such inertia member is a control momentgyroscope (CMG). A CMG typically comprises a flywheel with a fixed orvariable spin rate mounted to a gimbal assembly. The spin axis of theCMG can be tilted by moving the CMG using the gimbal assembly. Thismotion produces a gyroscopic torque orthogonal to the spin axis andgimbal axis.

To achieve full attitude control of a spacecraft, a CMG array, includinga minimum of three CMGs may be arranged such that each CMG in the CMGarray imparts torque about a linearly independent axis. Typically,additional CMGs are provided for redundancy purposes and to assist withsingularity avoidance. A singularity occurs when the momentum vectors ofthe CMGs line up such that one or more components of the requestedtorque can not be provided.

Several different techniques have been developed to avoid singularities.In one method it is first noted that a Jacobian A maps the CMG gimbalrates into a three dimensional array torque:Aω=τ  (1)where A is a 3×n Jacobian matrix, ω is a n×1 array of gimbal rates forthe n gimbals, and τ is a 3×1 array of torque components to be impartedto the spacecraft. From the above equation and with a known torquecommand, τ, the individual gimbal rates for each CMG can be calculated.Using the known Moore-Penrose pseudoinverse to invert the Jacobianmatrix, a set of possible gimbal rates is:ω=A ^(T)(AA ^(T))⁻¹τ.  (2)

As discussed previously, inherent in the use of CMGs is the possibilitythat the CMGs' momentum vectors may line up in such a way that asingularity condition is reached. Mathematically, singularities canoccur when the eigenvalues of AA^(T) approach zero, causing (AA^(T))⁻¹to approach infinity. Equivalently, singularities occur when thedeterminant of the matrix AA^(T) is equal to zero (expressedalgebraically as det (AA^(T))=0). In the case of a 3×n matrix A, this isequivalent to the rank of the matrix AA^(T) being two or less.

Different approaches have been devised to avoid singularities in themovement of CMGs. In one approach, to ensure that (AA^(T))⁻¹ never iszero, (AA^(T))⁻¹ is replaced by (AA^(T)+εI)⁻¹ where I is the identitymatrix and ε is a small number. The use of a positive ε ensures that det(AA^(T)+εI)⁻¹ never becomes 0.

While useful in some instances, a drawback to this approach is that thisapproach changes the gimbal rate calculation. In the case of theJacobian A, the use of the pseudoinverse means that gimbal rates are nolonger exactly mapped into the commanded torques because of the error εintroduces. This resulting error steers the spacecraft in the wrongdirection and can introduce significant, undesired torque, especiallynear the singularity.

A second approach is to limit the CMG array's momentum output to asmaller area within a momentum envelope. The momentum envelope is themomentum provided in all possible combinations of the CMGs in the CMGarray. In one exemplary embodiment, depending on the CMG arrangement, byoperating within one-third or less of the total momentum envelopes,singularities can be avoided. However, this approach wastes potentialtorque and results in systems that are much larger and heavier thanneeded.

In view of the foregoing, it is desirable to provide a method fordetermining a singularity free momentum path that addresses one or moreof the foregoing deficiencies or other deficiencies not implicitly orexpressly described. It is also desirable to provide a system fordetermining a singularity free momentum path that addresses one or moreof the foregoing deficiencies or other deficiencies not implicitly orexpressly described. Furthermore, other desirable factors andcharacteristics of the present invention will become apparent from thesubsequent detailed description and the appended claims, taken inconjunction with the accompanying drawings and the foregoing technicalfield and background.

SUMMARY OF THE INVENTION

In an exemplary embodiment, a method for avoiding singularities in themovement of a set of collinear CMGs in an array of CMGs in a spacecraftis provided. First, a command to adjust an orientation of the spacecraftis received. Then the momentum needed from the set of collinear CMGs isdetermined. A dynamic control that determines a momentum path and avoidssingularities by rotating the singularities out of the momentum path isused and the required gimbal movement for each of the CMGs in the set ofcollinear CMGs from the momentum path is calculated.

In another exemplary embodiment, a control system of a spacecraft isdisclosed. The control system comprises an attitude control system. Theattitude control system is operable to receive a command to adjust anorientation of the spacecraft, determine the momentum needed from theset of collinear CMGs and utilize a dynamic control that determines amomentum path and avoids singularities by rotating the singularities outof the momentum path. The control system further comprises a momentumactuator control processor coupled to the attitude control system. Themomentum actuator control processor is operable to calculate a requiredgimbal movement for each of the CMGs in the set of collinear CMGs fromthe momentum path. A plurality of CMGs are coupled to the momentumactuator. The CMGs are operable to receive commands from the momentumactuator to change the spacecraft orientation.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will hereinafter be described in conjunction withthe following drawing figures, wherein like numerals denote likeelements, and:

FIG. 1 is a block diagram illustrating an exemplary CMG control systemin accordance with an exemplary embodiment of the present invention;

FIG. 2 illustrates the momentum space of a set of collinear CMGs inaccordance with an exemplary embodiment of the present invention;

FIG. 3 illustrates the rotation of a singularity when the momentum pathapproaches the singularity in accordance with an exemplary embodiment ofthe present invention;

FIG. 4 illustrates the rotation of a singularity away from a momentumpath following a safety ray in accordance with an exemplary embodimentof the present invention; and

FIG. 5 is a flowchart illustrating a method for maneuvering a spacecraftin accordance with an exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

The following detailed description is merely exemplary in nature and isnot intended to limit the invention or the application and uses of theinvention. Furthermore, there is no intention to be bound by anyexpressed or implied theory presented in the preceding technical field,background, brief summary or the following detailed description.

An exemplary control system 100 for implementing the present inventionis illustrated in FIG. 1. The components of the control system 100 areknown in the art and can be assembled in different ways using differentprocessors, software, controllers, sensors, and the like. Additionally,various computational functionalities that are typically provided by onepart of the system can instead be provided by another part. The system100 as shown in FIG. 1 includes parts that are pertinent to thediscussion of the present invention and the system 100 may include otherelements or systems that might be provided in a control system and whichare well known and not shown in FIG. 1.

The control system 100 includes an attitude control system 102 coupledto a momentum actuator control processor 104. CMGs 106 are coupled themomentum actuator control processor 104. Associated with each CMG 106are one or more CMG sensors 108 for providing information concerning thestate of the CMG 106 to the control system 100. Control system 100, inone embodiment, is mounted on a spacecraft such as an orbitingsatellite.

Attitude control system 102 controls the positioning of a spacecraft.The attitude control system 102 receives data concerning a desiredspacecraft maneuver and determines an appropriate torque command tocomplete the desired maneuver. The torque commands can be presented tothe momentum actuator control processor 104. The momentum actuatorcontrol processor 104, in response to the torque commands, can calculatethe gimbal rates necessary to produce the commanded torque.Additionally, the momentum actuator control processor 104 calculatesgimbal movement from a momentum path determined by a steering law. Themomentum actuator control processor 104, based on these calculations,provides the necessary commands to the CMGs 106 such that the CMGmovement produces the commanded torque and, in accordance with theteachings of the present invention, provides the torque while avoidingsingularities.

In the present invention, there are multiple gimbal arrays arranged toprovide full control over the spacecraft on which they are installed.Each gimbal array, in an exemplary embodiment, comprises a set ofcollinear CMGs. In one exemplary embodiment, the set includes threecollinear CMGs. The momentum of the set of collinear CMGs is restrictedto a two-dimensional plane. As seen in FIG. 2, three collinear CMGs cangenerate a circular momentum space 202 of radius 3. A total momentumvector within the momentum space can be expressed as h={x, y}. Thegimbal angles of the three CMGs are given by α, β, and γ, where the zerogimbal angles are all oriented along the x-axis. The x and y componentsof the momentum vector are given by the following equations:x=cos α+cos β+cos γy=sin α+sin β+sin γ  (3)

After determining the momentum vector, places where singularities couldexist are determined. First, the Jacobian of the transformation isdetermined. Given: $\begin{matrix}{{{h\left( {\alpha,\beta,\gamma} \right)} = \begin{bmatrix}{{\cos\quad\alpha} + {\cos\quad\beta} + {\cos\quad\gamma}} \\{{\sin\quad\alpha} + {\sin\quad\beta} + {\sin\quad\gamma}}\end{bmatrix}},} & (4)\end{matrix}$the Jacobian can be found by calculating the gradient of the momentumvector: $\begin{matrix}{{\nabla h} = {\begin{bmatrix}{{- \sin}\quad\alpha} & {{- \sin}\quad\beta} & {{- \sin}\quad\gamma} \\{\cos\quad\alpha} & {\cos\quad\beta} & {\cos\quad\gamma}\end{bmatrix}.}} & (5)\end{matrix}$As discussed previously, a singularity exists when det(∇h·∇h^(T))=0(i.e. when ∇h has rank 1)? Using Eqn. 4, the determinate can becalculated:det(∇h·∇h ^(T))=3−(cos²(α−β)+cos²(β−γ)+cos²(γ−α)).  (6)Eqn. 6 is zero when:1=±cos(α−β)=±cos(β−γ)=±cos(γ−α).  (7)

There are only four possible solutions to Eqn. 7. If r≧0, and r²=x²+y²then possible singularities occur at: α − β β − γ γ − α r 0 0 0 3 0 π π1 π 0 π 1 π π 0 1Therefore, if either α, β, γ is in a singular configuration, then r=1 orr=3.

The momentum vector h={x, y} can be expressed in polar coordinates {r,φ} as:x=r cos φy=r sin φ  (8)For r≧0 and r²=x²+y², and for r≠0, φ is characterized by:$\begin{matrix}{{{\cos\quad\varphi} = \frac{x}{r}}{{\sin\quad\varphi} = {\frac{y}{r}.}}} & (9)\end{matrix}$

Then, for the gimbal angle α, the relative polar coordinates {r_(α),φ_(α)} can be defined as:x−cos α=r _(α) cos φ_(α)y−sin α=r _(α) sin φ_(α)  (10)Note that r_(α)≧0 is characterized by: $\begin{matrix}\begin{matrix}{r_{\alpha}^{2} = {\left( {x - {\cos\quad\alpha}} \right)^{2} + \left( {y - {\sin\quad\alpha}} \right)^{2}}} \\{= {1 + r^{2} - {2r\quad{{\cos\left( {\alpha - \varphi} \right)}.}}}}\end{matrix} & (11)\end{matrix}$and for r_(α)≠0, φ_(α) is characterized by: $\begin{matrix}{{{\cos\quad\varphi_{\alpha}} = \frac{x - {\cos\quad\alpha}}{r_{\alpha}}}{{\sin\quad\varphi_{\alpha}} = {\frac{y - {\sin\quad\alpha}}{r_{\alpha}}.}}} & (12)\end{matrix}$

Using the above equations, all solutions to Eqn. 3 can be parameterized.x, y, r, φ can be defined as discussed previously, with 0≦r≦3. Letr_(α)≧0 be as previously defined as r_(α) ²=1+r²−2r cos(α−φ). Allsolutions α, β, γ to Eqn. 3 are characterized by α such that:$\begin{matrix}{{\cos\left( {\alpha - \varphi} \right)} \geq {\frac{1}{2}{\left( {r - {3/r}} \right).}}} & (13)\end{matrix}$and β, γ: $\begin{matrix}{{{\cos\quad\beta} = {{\frac{1}{2}\left( {x - {\cos\quad\alpha}} \right)} \mp {\sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}\left( {y - {\sin\quad\alpha}} \right)}}}{{\sin\quad\beta} = {{{\pm \sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}}\left( {x - {\cos\quad\alpha}} \right)} + {\frac{1}{2}\left( {y - {\sin\quad\alpha}} \right)}}}{and}} & (14) \\{{{\cos\quad\gamma} = {{\frac{1}{2}\left( {x - {\cos\quad\alpha}} \right)} \pm {\sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}\left( {y - {\sin\quad\alpha}} \right)}}}{{\sin\quad\gamma} = {{{\mp \sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}}\left( {x - {\cos\quad\alpha}} \right)} + {\frac{1}{2}{\left( {y - {\sin\quad\alpha}} \right).}}}}} & (15)\end{matrix}$

Utilizing the above parameterized equations, a fixed control for thecollinear CMGs can be determined. A fixed control is a map from themomentum space to the gimbal angles; that is, it is a control scheme forthe CMGs that assigns a particular set of gimbal angles to each point inmomentum space. Any fixed controller is discontinuous somewhere in theinterior of the unit disk of the momentum space.

Thus, a fixed control is a map Γ from the reachable momentum spaceH={(x, y): √{square root over (x²+y²)}≦3} to the space of gimbal angles,Γ(x, y)={α, β, γ}={α(x, y), β(x, y), γ(x, y)}. A singularity of a fixedcontrol is a point (x, y) where the map is not continuous.

Additionally, a fixed control, Γ, from the reachable momentum spaceH={(x, y): √{square root over (x²+y²)}≦3} to the space of gimbal angles,has to have a singularity somewhere in the unit disk H₁={(x, y):√{square root over (x²+y²)}≦1}.

Since all fixed controls have singularities within the unit circle,finding a fixed control steering which has a minimal singularity, e.g.only one singularity located on the boundary of U₁ will simplify thederivation of a control law.

Given a simple fixed control Γ_(β) ⁺, which orients the gimbal β alongthe desired momentum vector, such as β(x, y)=φ(x, y), which chooses onechoice of sign, and then which uses simplified versions of thecounterparts of Eqns. (13) and (14) to define the remaining two gimbalangles α, γ: $\begin{matrix}{{{For}\quad{\Gamma_{\beta}^{+}\left( {x,y} \right)}},{{define}\left\{ \begin{matrix}{\varphi = {\arctan\quad 2\left( {x,y} \right)}} \\{r = \sqrt{\left( {x^{2} + y^{2}} \right)}}\end{matrix} \right.}} & (16) \\{{{For}\quad{\Gamma_{\beta}^{+}\left( {x,y} \right)}},{\beta = \varphi}} & (17) \\{{{For}\quad{\Gamma_{\beta}^{+}\left( {x,y} \right)}},\left\{ {\begin{matrix}{{\cos\left( {\alpha - \varphi} \right)} = {\frac{1}{2}\left( {r - 1} \right)}} \\{{\sin\left( {\alpha - \varphi} \right)} = {\frac{1}{2}\sqrt{\left( {3 - r} \right)\left( {1 + r} \right)}}}\end{matrix}{and}} \right.} & (18) \\{{{For}\quad{\Gamma_{\beta}^{+}\left( {x,y} \right)}},\left\{ {\begin{matrix}{{\cos\left( {\gamma - \varphi} \right)} = {\frac{1}{2}\left( {r - 1} \right)}} \\{{\sin\left( {\gamma - \varphi} \right)} = {{- \frac{1}{2}}\sqrt{\left( {3 - r} \right)\left( {1 + r} \right)}}}\end{matrix}.} \right.} & (19)\end{matrix}$

From the above equation, it can be determined that Γ_(α) ⁺ has a singlesingularity at the origin (x, y)=(0,0). In deriving a control for CMGsit is desirable to have the singularity outside of the origin(x,y)=(0,0). In the following fixed control K has a singularity on theboundary of U₁ at (x, y)=(0,−1) and is defined for r=1.

For K(x, y), define r_(α)=√{square root over ((x−cos α)²+(y−sin α)²)},then: $\begin{matrix}{{{For}\quad{K\left( {x,y} \right)}},\left\{ \begin{matrix}{{\cos\quad\alpha} = \frac{{- 2}\left( {1 + x} \right)y}{\left( {1 + x} \right)^{2} + y^{2}}} \\{{\sin\quad\alpha} = \frac{\left( {1 + x} \right)^{2} - y^{2}}{\left( {1 + x} \right)^{2} + y^{2}}}\end{matrix} \right.} & (20) \\{{{For}\quad{K\left( {x,y} \right)}},\left\{ {\begin{matrix}{{\cos\quad\beta} = {{\frac{1}{2}\left( {x - {\cos\quad\alpha}} \right)} - {\sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}\left( {y - {\sin\quad\alpha}} \right)}}} \\{{\sin\quad\beta} = {{\sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}\left( {x - {\cos\quad\alpha}} \right)} + {\frac{1}{2}\left( {y - {\sin\quad\alpha}} \right)}}}\end{matrix}{and}} \right.} & (21) \\{{{For}\quad{K\left( {x,y} \right)}},\left\{ {\begin{matrix}{{\cos\quad\gamma} = {{\frac{1}{2}\left( {x - {\cos\quad\alpha}} \right)} + {\sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}\left( {y - {\sin\quad\alpha}} \right)}}} \\{{\sin\quad\gamma} = {{{- \sqrt{\left( {\frac{1}{r_{\alpha}^{2}} - \frac{1}{4}} \right)}}\left( {x - {\cos\quad\alpha}} \right)} + {\frac{1}{2}\left( {y - {\sin\quad\alpha}} \right)}}}\end{matrix}.} \right.} & (22)\end{matrix}$

From these equations, for r=1,$\alpha = {{\varphi + {\frac{\pi}{2}{and}\quad\beta}} = {\varphi.}}$Thus Γ_(β) ⁺(x, y)=K(x, y) on the boundary of U₁.

Therefore, an exemplary combined fixed control Λ(x, y) that is definedover all of H has only one singularity at (x, y)=(0,−1): $\begin{matrix}{{\Lambda\left( {x,y} \right)} = \left\{ {\begin{matrix}{K\left( {x,y} \right)} & {{{if}\quad\sqrt{x^{2} + y^{2}}} < 1} \\{\Gamma_{\beta}^{+}\left( {x,y} \right)} & {{{if}\quad\sqrt{x^{2} + y^{2}}} \geq 1}\end{matrix}.} \right.} & (23)\end{matrix}$

Since a fixed control can be found that has only a singularity at (x,y)=(0, −1), a dynamic momentum controller can be designed that willavoid singularities as it follows a momentum path of fixed maximumvelocity. In one exemplary embodiment, to derive a dynamic momentumcontroller, it is first noted that the gimbal space for three collinearCMGs is rotationally symmetric. If all three gimbal angles are rotatedby the same angle, the momentum vector is also rotated by that sameangle. In other terms, working with polar coordinates, if (r, φ)=h(α, β,γ), then (r, φ+ψ)=h(α+ψ, β+ψ, γ+ψ).

Thus, given a fixed control Λ (not necessarily the same A as previouslydiscussed) with known singularities, the CMGs can be dynamicallycontrolled by simply dynamically rotating the singularities away fromthe current momentum path. Thus, for a given fixed control {α, β,γ}={α_(Λ)(r, φ), β_(Λ)(r, φ), γ_(Λ)(r, φ)} with a singularity at ({tildeover (r)}, {tilde over (φ)}) where {tilde over (r)}≠0:(r, φ)=h(α_(Λ)(r, φ), β_(Λ)(r, φ), γ_(Λ)(r, φ)).  (24)

A dynamic winding angle ψ can be defined as(r, φ)=h(ψ+α_(Λ)(r, φ−ψ), ψ+β_(Λ)(r, φ−ψ), ψ+γ_(Λ)(r, φ−ψ)).  (25)By rotating the gimbals by the winding angle the singularity can berelocated to ({tilde over (r)}, {tilde over (φ)}+ψ). The size of thewinding angle is chosen to provide avoidance of the singularity whileminimizing the amount of extra CMG movement.

FIG. 3 illustrates an exemplary embodiment of rotation of a singularity.In this example, the momentum space 300 includes a singular point 302not at the origin. A momentum path 306 is located within the momentumspace 300. In FIG. 3, a boundary 304 is placed around a singular point302, and whenever a momentum path 306 impinges the boundary, the windingangle is changed to rotate the singularity away from the momentum path306. Note in FIG. 3, the singular point 302 is originally located atpoint A. When the momentum path 306 impinges the boundary 304 at pointC, the singular point 302 is rotated to point B. This will occur eachtime the momentum path 306 impinges the boundary 304.

The dynamic control resulting from the boundary 304 as shown will becontinuous in the gimbal angles, but will have a discontinuous velocity(when the momentum path “hits” the boundary). However, the velocitieswill be bounded. The derivatives can be made smooth by passing thecontrols through a simple filter, such as a first-order lag.

There is also a potential ambiguity as to which direction the windingangle should choose if the momentum path 306 is directed directlyagainst one of the vertices of the boundary 304. Any basic choicecombined with a hysterisis in the direction chosen will eliminate thatissue.

In another exemplary embodiment, given a fixed control with isolatedsingularities that do not occur at the origin, a dynamic momentumcontroller can be determined that will avoid singularities as long asthe dynamic momentum controller follows momentum paths of fixed maximumvelocity.

As before, a fixed control Λ (again, not necessarily the same Λ asdiscussed previously) with known singularities ({tilde over (r)}, {tildeover (φ)}) where {tilde over (r)}≠0 (no singularity at the origin). Thewinding angle ψ defines a set of fixed controls by:Λ_(ψ)(r, φ)=Λ(r, φ−ψ)+ψ.  (26)which relocates the singularities to ({tilde over (r)}, {tilde over(φ)}+ψ(t)).

In this approach, a safety ray consisting of an angle φ such that thereare no singular points along that angle ∀{tilde over (φ)}, {tilde over(φ)}≠ φ, and all points along that angle in the momentum space, R={{r,φ}: 0≦r≦3}. The momentum space can be divided to form into those regionsclockwise from R, H⁻={{r, φ}: φ−π<φ≦ φ} and those counterclockwise fromR, H⁺={{r, φ}: φ<φ≦ φ+π}. A feedback control can be derived that rotatesthe fixed control, either clockwise or counterclockwise, back to R. Aslong as the control in the vicinity of a singularity rotates fastertowards R than the momentum path can move towards a singularity, theresulting control will be singularity free.

As a specific example, let δ>0 be a distance such that there is nosingularity within δ of R. Let M be the maximum speed at which to rotatethe winding angle (in general, this will be a function of the gimbalangles and fixed control). Then the controller can be defined as thedistance arc squared so that the controller will have a continuousderivative: $\begin{matrix}{\overset{.}{\psi} = \left\{ \begin{matrix}{\min\left( {M,{\frac{M}{\delta^{2}}{{dist}^{2}\left( {\left( {x,y} \right),\overset{\_}{R}} \right)}}} \right)} & {{{if}\left( {x,y} \right)} \in H^{-}} \\{- {\min\left( {M,{\frac{M}{\delta^{2}}{{dist}^{2}\left( {\left( {x,y} \right),\overset{\_}{R}} \right)}}} \right)}} & {{{if}\left( {x,y} \right)} \in H^{+}}\end{matrix} \right.} & (27)\end{matrix}$

FIG. 4 illustrates an exemplary momentum space 400 which includes asingularity 402 on the inner circle 404 of r=1. A safety ray 406 pointsin a direction away from the singularity 402. A momentum path 408 startsat the origin O and moves along the momentum path 408 to provide themomentum required to assist in spacecraft movement. As the momentum path408 moves, the safety ray 406 is rotated to keep the momentum path 408aligned with the safety ray 406. As the safety ray 406 rotates, so doesthe singularity 402. Note that the safety ray 406 is originally at pointA. As the momentum path 408 moves, the safety ray 406 rotates. For themomentum path 408 shown in FIG. 4, the safety ray 406 moves to point B.While the safety ray 406 is moving from point A to point B, thesingularity 402 moves from point C to point D.

FIG. 5 illustrates a method 500 for controlling a spacecraft inaccordance with the teachings of the present invention. First, in step502, a maneuvering command to rotate spacecraft orientation is received.In one exemplary embodiment, the maneuvering command is sent from aground control station to the attitude control system 102 of thespacecraft. Alternatively, the maneuvering command may be generated bythe spacecraft based on a preplanned movement schedule.

After the maneuvering command is received, the momentum required foreach set of CMGs is determined in step 504. In one embodiment, theneeded torque can first be determined and the torque can then beintegrated to determine the momentum required for each set of CMGs.These calculations can be done at the attitude control system 102.

In step 506, a dynamic momentum controller is used to provide asingularity free momentum path. The dynamic momentum controller uses afixed control that includes a single singularity that is not located atthe origin. As the momentum moves along the momentum path, thesingularity is rotated away from the momentum path.

Once the momentum path is determined, the momentum actuator controlprocessor 104 can compute the proper gimbal movements in step 508. Instep 510, the gimbals for each of the three collinear CMGs are thenmoved to provide the proper momentum.

The exemplary embodiment or embodiments described herein are notintended to limit the scope, applicability, or configuration of theinvention in any way. Rather, the foregoing detailed description willprovide those skilled in the art with a convenient road map forimplementing the described embodiment or embodiments. It should beunderstood that various changes can be made in the function andarrangement of elements without departing from the scope of theinvention as set forth in the appended claims and the legal equivalentsthereof.

1. A method for avoiding singularities in the movement of a set ofcollinear control moment gyroscope (CMGs) in an array of CMGs in aspacecraft comprising: receiving a command to adjust an orientation ofthe spacecraft; determining the momentum needed from the set ofcollinear CMGs to adjust the orientation of the spacecraft; utilizing adynamic control that determines a momentum path and avoids singularitiesby rotating the singularities out of the momentum path; and calculatinga required gimbal movement for each of the CMGs in the set of collinearCMGs from the determined momentum path.
 2. The method of claim 1 whereinthe step of utilizing a dynamic control further comprises rotating thesingularity when the momentum path impinges a predetermined boundarysurrounding the singularity.
 3. The method of claim 1 wherein the stepof utilizing a dynamic control further comprises: determining a safetyray that is initially at a fixed angle and all points along that anglein the momentum space is free of singularizes; and rotating the safetyray to correspond to the momentum path, the singularity rotating awayfrom the momentum path as the safety ray rotates.
 4. The method of claim1 wherein the step of utilizing a dynamic control further comprisesrotating the singularity away from the momentum path as a function oftime.
 5. The method of claim 1 utilizing a dynamic control furthercomprises using a fixed control to determine a momentum path with asingle singularity not at the origin.
 6. A control system of aspacecraft for controlling a set of collinear control moment gyroscopesCMGs, the control system comprising: an attitude control system operableto: receive a command to adjust an orientation of the spacecraft;determine a momentum needed from the set of collinear control momentgyroscopes (CMGs) to adjust the spacecraft; utilize a dynamic controlthat determines a momentum path and avoids singularities by rotating thesingularities out of the momentum path; a momentum actuator controlprocessor coupled to the attitude control system, the momentum actuatorcontrol processor operable to calculate a required gimbal movement foreach of the CMGs in the set of collinear CMGs from the momentum path. 7.The system of claim 6 wherein each of the CMGs are configured to receivethe required gimbal movement from the momentum actuator to change thespacecraft orientation.
 8. The system of claim 6 wherein the attitudecontrol system is further operable to rotate the singularity when themomentum path impinges a predetermined boundary surrounding thesingularity.
 9. The system of claim 6 wherein the attitude controlsystem is further operable to: determine a safety ray that is initiallyat a fixed angle and all points along that angle in the momentum spaceis free of singularities; and rotate the safety ray to correspond to themomentum path, the singularity rotating away from the momentum path asthe safety ray rotates.
 10. The system of claim 6 wherein the attitudecontrol system is further operable to rotate the singularity away fromthe momentum path as a function of time.
 11. The system of claim 6wherein the attitude control system is further operable to use a fixedcontrol to determine a momentum path with a single singularity not atthe origin.